package com.ruoyi.develop.factory.factoryProduceMain.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 生产订单信息对象 factory_produce_main
 *
 * @author qh
 * @date 2024-11-06
 */
public class FactoryProduceMain extends BaseEntity {
private static final long serialVersionUID=1L;

    /** 主键 */
    private String id;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 删除标志 */
    private String delFlag;

    /** 采购方总部编码 */
    @Excel(name = "采购方总部编码")
    private String purchaserHqCode;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private String ipoType;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    private String supplierCode;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 生产订单号 */
    @Excel(name = "生产订单号")
    private String ipoNo;

    /** 品类编码 */
    @Excel(name = "品类编码")
    private String categoryCode;

    /** 种类编码 */
    @Excel(name = "种类编码")
    private String subclassCode;

    /** 排产计划编码 */
    @Excel(name = "排产计划编码")
    private String scheduleCode;

    /** 采购订单行项目id（供货单行项目id）或销售订单号 */
    @Excel(name = "采购订单行项目id", readConverterExp = "供=货单行项目id")
    private String poItemId;

    /** 数据关联类型 */
    @Excel(name = "数据关联类型")
    private String dataType;

    /** 销售订单行项目号 */
    @Excel(name = "销售订单行项目号")
    private String soItemNo;

    /** 厂家物料编码 */
    @Excel(name = "厂家物料编码")
    private String materialsCode;

    /** 厂家物料名称 */
    @Excel(name = "厂家物料名称")
    private String materialsName;

    /** 厂家物资单位 */
    @Excel(name = "厂家物资单位")
    private String materialsUnit;

    /** 厂家物料描述 */
    @Excel(name = "厂家物料描述")
    private String materialsDesc;

    /** 生产数量 */
    @Excel(name = "生产数量")
    private String amount;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String unit;

    /** 物资id分组 */
    @Excel(name = "物资id分组")
    private String productIdGrpNo;

    /** 物资id类型 */
    @Excel(name = "物资id类型")
    private String productIdType;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String productModel;

    /** 计划开始日期 */    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")

    private Date planStartDate;

    /** 计划完成日期 */    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")

    private Date planFinishDate;

    /** 实际开始日期 */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date actualStartDate;

    /** 实际完成日期 */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date actualFinishDate;

    /** 生产工厂名称 */
    @Excel(name = "生产工厂名称")
    private String plantName;

    /** 生产车间名称 */
    @Excel(name = "生产车间名称")
    private String workshopName;

    /** 生产订单状态 */
    @Excel(name = "生产订单状态")
    private String ipoStatus;

    /** 生产中心 */
    @Excel(name = "生产中心")
    private String center;

    /** 数据来源 */
    @Excel(name = "数据来源")
    private String dataSource;

    /** 来源数据创建时间 */
    @Excel(name = "来源数据创建时间")
    private String dataSourceCreateTime;

    /** 数据拥有方 */
    @Excel(name = "数据拥有方")
    private String ownerId;

    /** 数据可见方 */
    @Excel(name = "数据可见方")
    private String openId;

    private String projectId;

    private String projectCode;

    private String poItemIds[];

    private String type;
    private BigDecimal prodCount;
    private BigDecimal successCount;
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zhijianTime;
    private BigDecimal rukuCount;
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date rukuTime;
    private BigDecimal norukuCount;
    private BigDecimal useCount;
    private BigDecimal finishdoCount;
    private BigDecimal kerukuCount;

    public BigDecimal getKerukuCount() {
        return kerukuCount;
    }

    public void setKerukuCount(BigDecimal kerukuCount) {
        this.kerukuCount = kerukuCount;
    }

    public BigDecimal getFinishdoCount() {
        return finishdoCount;
    }

    public void setFinishdoCount(BigDecimal finishdoCount) {
        this.finishdoCount = finishdoCount;
    }

    public BigDecimal getProdCount() {
        return prodCount;
    }

    public void setProdCount(BigDecimal prodCount) {
        this.prodCount = prodCount;
    }
    public BigDecimal getSuccessCount() {
        return successCount;
    }

    public void setSuccessCount(BigDecimal successCount) {
        this.successCount = successCount;
    }

    public Date getZhijianTime() {
        return zhijianTime;
    }

    public void setZhijianTime(Date zhijianTime) {
        this.zhijianTime = zhijianTime;
    }

    public BigDecimal getRukuCount() {
        return rukuCount;
    }

    public void setRukuCount(BigDecimal rukuCount) {
        this.rukuCount = rukuCount;
    }

    public Date getRukuTime() {
        return rukuTime;
    }

    public void setRukuTime(Date rukuTime) {
        this.rukuTime = rukuTime;
    }

    public BigDecimal getNorukuCount() {
        return norukuCount;
    }

    public void setNorukuCount(BigDecimal norukuCount) {
        this.norukuCount = norukuCount;
    }

    public BigDecimal getUseCount() {
        return useCount;
    }

    public void setUseCount(BigDecimal useCount) {
        this.useCount = useCount;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date saleDate;

    public Date getSaleDate() {
        return saleDate;
    }

    public void setSaleDate(Date saleDate) {
        this.saleDate = saleDate;
    }

    public String[] getPoItemIds() {
        return poItemIds;
    }

    public void setPoItemIds(String[] poItemIds) {
        this.poItemIds = poItemIds;
    }

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public void setId(String id)
            {
            this.id = id;
            }

    public String getId()
            {
            return id;
            }
    public void setStatus(String status)
            {
            this.status = status;
            }

    public String getStatus()
            {
            return status;
            }
    public void setDelFlag(String delFlag)
            {
            this.delFlag = delFlag;
            }

    public String getDelFlag()
            {
            return delFlag;
            }
    public void setPurchaserHqCode(String purchaserHqCode)
            {
            this.purchaserHqCode = purchaserHqCode;
            }

    public String getPurchaserHqCode()
            {
            return purchaserHqCode;
            }
    public void setIpoType(String ipoType)
            {
            this.ipoType = ipoType;
            }

    public String getIpoType()
            {
            return ipoType;
            }
    public void setSupplierCode(String supplierCode)
            {
            this.supplierCode = supplierCode;
            }

    public String getSupplierCode()
            {
            return supplierCode;
            }
    public void setSupplierName(String supplierName)
            {
            this.supplierName = supplierName;
            }

    public String getSupplierName()
            {
            return supplierName;
            }
    public void setIpoNo(String ipoNo)
            {
            this.ipoNo = ipoNo;
            }

    public String getIpoNo()
            {
            return ipoNo;
            }
    public void setCategoryCode(String categoryCode)
            {
            this.categoryCode = categoryCode;
            }

    public String getCategoryCode()
            {
            return categoryCode;
            }
    public void setSubclassCode(String subclassCode)
            {
            this.subclassCode = subclassCode;
            }

    public String getSubclassCode()
            {
            return subclassCode;
            }
    public void setScheduleCode(String scheduleCode)
            {
            this.scheduleCode = scheduleCode;
            }

    public String getScheduleCode()
            {
            return scheduleCode;
            }
    public void setPoItemId(String poItemId)
            {
            this.poItemId = poItemId;
            }

    public String getPoItemId()
            {
            return poItemId;
            }
    public void setDataType(String dataType)
            {
            this.dataType = dataType;
            }

    public String getDataType()
            {
            return dataType;
            }
    public void setSoItemNo(String soItemNo)
            {
            this.soItemNo = soItemNo;
            }

    public String getSoItemNo()
            {
            return soItemNo;
            }
    public void setMaterialsCode(String materialsCode)
            {
            this.materialsCode = materialsCode;
            }

    public String getMaterialsCode()
            {
            return materialsCode;
            }
    public void setMaterialsName(String materialsName)
            {
            this.materialsName = materialsName;
            }

    public String getMaterialsName()
            {
            return materialsName;
            }
    public void setMaterialsUnit(String materialsUnit)
            {
            this.materialsUnit = materialsUnit;
            }

    public String getMaterialsUnit()
            {
            return materialsUnit;
            }
    public void setMaterialsDesc(String materialsDesc)
            {
            this.materialsDesc = materialsDesc;
            }

    public String getMaterialsDesc()
            {
            return materialsDesc;
            }
    public void setAmount(String amount)
            {
            this.amount = amount;
            }

    public String getAmount()
            {
            return amount;
            }
    public void setUnit(String unit)
            {
            this.unit = unit;
            }

    public String getUnit()
            {
            return unit;
            }
    public void setProductIdGrpNo(String productIdGrpNo)
            {
            this.productIdGrpNo = productIdGrpNo;
            }

    public String getProductIdGrpNo()
            {
            return productIdGrpNo;
            }
    public void setProductIdType(String productIdType)
            {
            this.productIdType = productIdType;
            }

    public String getProductIdType()
            {
            return productIdType;
            }
    public void setProductModel(String productModel)
            {
            this.productModel = productModel;
            }

    public String getProductModel()
            {
            return productModel;
            }
    public void setPlanStartDate(Date planStartDate)
            {
            this.planStartDate = planStartDate;
            }

    public Date getPlanStartDate()
            {
            return planStartDate;
            }
    public void setPlanFinishDate(Date planFinishDate)
            {
            this.planFinishDate = planFinishDate;
            }

    public Date getPlanFinishDate()
            {
            return planFinishDate;
            }
    public void setActualStartDate(Date actualStartDate)
            {
            this.actualStartDate = actualStartDate;
            }

    public Date getActualStartDate()
            {
            return actualStartDate;
            }
    public void setActualFinishDate(Date actualFinishDate)
            {
            this.actualFinishDate = actualFinishDate;
            }

    public Date getActualFinishDate()
            {
            return actualFinishDate;
            }
    public void setPlantName(String plantName)
            {
            this.plantName = plantName;
            }

    public String getPlantName()
            {
            return plantName;
            }
    public void setWorkshopName(String workshopName)
            {
            this.workshopName = workshopName;
            }

    public String getWorkshopName()
            {
            return workshopName;
            }
    public void setIpoStatus(String ipoStatus)
            {
            this.ipoStatus = ipoStatus;
            }

    public String getIpoStatus()
            {
            return ipoStatus;
            }
    public void setCenter(String center)
            {
            this.center = center;
            }

    public String getCenter()
            {
            return center;
            }
    public void setDataSource(String dataSource)
            {
            this.dataSource = dataSource;
            }

    public String getDataSource()
            {
            return dataSource;
            }
    public void setDataSourceCreateTime(String dataSourceCreateTime)
            {
            this.dataSourceCreateTime = dataSourceCreateTime;
            }

    public String getDataSourceCreateTime()
            {
            return dataSourceCreateTime;
            }
    public void setOwnerId(String ownerId)
            {
            this.ownerId = ownerId;
            }

    public String getOwnerId()
            {
            return ownerId;
            }
    public void setOpenId(String openId)
            {
            this.openId = openId;
            }

    public String getOpenId()
            {
            return openId;
            }

    @Override
    public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id",getId())
            .append("status",getStatus())
            .append("remark",getRemark())
            .append("createBy",getCreateBy())
            .append("createTime",getCreateTime())
            .append("updateBy",getUpdateBy())
            .append("updateTime",getUpdateTime())
            .append("delFlag",getDelFlag())
            .append("purchaserHqCode",getPurchaserHqCode())
            .append("ipoType",getIpoType())
            .append("supplierCode",getSupplierCode())
            .append("supplierName",getSupplierName())
            .append("ipoNo",getIpoNo())
            .append("categoryCode",getCategoryCode())
            .append("subclassCode",getSubclassCode())
            .append("scheduleCode",getScheduleCode())
            .append("poItemId",getPoItemId())
            .append("dataType",getDataType())
            .append("soItemNo",getSoItemNo())
            .append("materialsCode",getMaterialsCode())
            .append("materialsName",getMaterialsName())
            .append("materialsUnit",getMaterialsUnit())
            .append("materialsDesc",getMaterialsDesc())
            .append("amount",getAmount())
            .append("unit",getUnit())
            .append("productIdGrpNo",getProductIdGrpNo())
            .append("productIdType",getProductIdType())
            .append("productModel",getProductModel())
            .append("planStartDate",getPlanStartDate())
            .append("planFinishDate",getPlanFinishDate())
            .append("actualStartDate",getActualStartDate())
            .append("actualFinishDate",getActualFinishDate())
            .append("plantName",getPlantName())
            .append("workshopName",getWorkshopName())
            .append("ipoStatus",getIpoStatus())
            .append("center",getCenter())
            .append("dataSource",getDataSource())
            .append("dataSourceCreateTime",getDataSourceCreateTime())
            .append("ownerId",getOwnerId())
            .append("openId",getOpenId())
        .toString();
    }
}
